package com.cl.mypureframe.util;

import android.content.Context;
import android.widget.ImageView;

import com.bumptech.glide.Glide;
import com.bumptech.glide.load.MultiTransformation;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestOptions;
import com.cl.mypureframe.R;
import com.cl.mypureframe.conn.Conn;


/**
 * ImageUtils 图片封装工具类
 * Created by Lei on 2018/4/8.
 */
@SuppressWarnings("rawtypes")
public class ImageUtils {
    private static final String TAG = Log.getTag(ImageUtils.class);
    private static final int default_palceholder = R.mipmap.zwt;// 默认占位图
    private static final int default_circlecrop = R.mipmap.default_user;// 默认圆形占位图
    private static final int roundingRadius = 20;// 圆角角度

    /**
     * 普通图片加载 有默认的占位图
     *
     * @param url 图片地址
     * @param iv  ImageView
     */
    public static void glideLoader(Context context, String url, ImageView iv) {
        Glide.with(context).load(getImageUrl(url)).placeholder(default_palceholder).into(iv);
    }

    /**
     * 普通图片加载
     *
     * @param url            图片地址
     * @param iv             ImageView
     * @param placeholder_id 占位图
     */
    public static void glideLoader(Context context, String url, ImageView iv, int placeholder_id) {
        Glide.with(context).load(getImageUrl(url)).placeholder(placeholder_id).into(iv);
    }

    /**
     * 圆形图片加载 有默认的占位图
     *
     * @param context Context
     * @param url     图片地址
     * @param iv      ImageView
     */
    public static void glideLoaderCropCircle(Context context, String url, ImageView iv) {
        glideLoaderCropCircle(context, url, iv, default_circlecrop);
    }

    /**
     * 圆形图片加载
     *
     * @param context        Context
     * @param url            图片地址
     * @param iv             ImageView
     * @param placeholder_id 占位图，要圆形的
     */
    public static void glideLoaderCropCircle(Context context, String url, ImageView iv, int placeholder_id) {
        Glide.with(context).load(getImageUrl(url)).placeholder(placeholder_id)
                .apply(RequestOptions.circleCropTransform()).into(iv);

    }

    /**
     * 圆角矩形图片加载 有默认的占位图
     *
     * @param context Context
     * @param url     图片地址
     * @param iv      ImageView
     */
    public static void glideLoaderRoundedCorners(Context context, String url, ImageView iv) {
        glideLoaderRoundedCorners(context, url, iv, default_palceholder);
    }

    /**
     * 圆角矩形图片加载
     *
     * @param context        Context
     * @param url            图片地址
     * @param iv             ImageView
     * @param placeholder_id 占位图
     */
    @SuppressWarnings("unchecked")
    public static void glideLoaderRoundedCorners(Context context, String url, ImageView iv, int placeholder_id) {
        Glide.with(context).load(getImageUrl(url)).placeholder(placeholder_id)
                .apply(RequestOptions.bitmapTransform(new MultiTransformation(new RoundedCorners(roundingRadius) //设置图片圆角角度
                ))).into(iv);
    }

    /**
     * 获取合法的图片地址
     *
     * @return 合法的url
     */
    public static String getImageUrl(String url) {
        String picurl = url == null ? "" : url.startsWith("http") ? url
                : url.startsWith("/storage/") ? url : Conn.IMGURL + url;
        Log.e(TAG, "picurl", picurl);
        return picurl;
    }

}
